The present invention relates generally to converting binary numbers to decimal numbers and in particular to an iterative method for converting binary numbers to decimal numbers.
Currently, computer systems performing binary to decimal conversions require many clock cycles for evaluating the binary number as a whole and, thus, increasing processing periods. The existing practice is inefficient, consumes a significant amount of time, and reduces system performance. Typically, the conversion from pure binary to binary coded decimal code is effected in several ways. For example, an adder-subtracter algorithm and a table of binary representations of the powers of 10 or powers of 10 multiplied by the numbers from 0 to 9 are used. The adder-subtractors may be that of a main arithmetic unit and may be wired or programmed to obtain the conversion. With the existing practices, the conversion time is fixed and therefore cannot be reduced.
Consequently, there is a need to speed up the binary to decimal conversion process and to reduce the number of clock cycles required to make the necessary conversions. Therefore, a quicker and more efficient method is desired.
An exemplary embodiment of the invention is a method and system for converting a number from binary to decimal. The method includes obtaining an N-bit binary number and then determining the number of multiplications necessary to complete the conversion process by first determining the number of leading zeroes. The method then divides the N-bit number into 12-bit segments where each segment is represented as a binary coded decimal number. The method then multiplies at least one binary coded decimal number by a variable in response to the number of multiplications to determine the resulting decimal value.